Virtual input devices created by touch input

ABSTRACT

An input device is created on a touch screen in response to a user&#39;s placement of their hand. When a user places their hand on the touch screen, an input device sized for their hand is dynamically created. Alternatively, some other input device may be created. For example, when the user places two hands on the device a split keyboard input device may be dynamically created on the touch screen that is split between the user&#39;s hand locations. Once the input device is determined, the user may enter input through the created device on the input screen. The input devices may be configured for each individual user such that the display of the input device changes based on physical characteristics that are associated with the user.

BACKGROUND

Computer display devices have been configured to function both as aninput device and as a video output device. For example, computer displaydevices can be configured with touch surface mechanisms that allow usersto enter user input data through a display surface. Sensors can detectwhen one or more objects contact a particular location on the displaysurface. A computer system can then perform some action in response todetecting the contact. For example, in response to detecting contactbetween an object and a display surface at a location corresponding touser-interface control, a computer system can perform some actionassociated with the user-interface control.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

A virtual input device is created in response to a user's placement oftheir hand on a touch screen. Different types of virtual input devicesmay be created. For example, when a user places one of their hands onthe touch input device, a virtual mouse ring input device sized for theuser's hand may be dynamically created. Similarly, when a user placestwo hands on the touch input device, two virtual mouse rings may bedisplayed. Alternatively, some other virtual input device may bedisplayed. For example, when the user places two hands on the device asplit keyboard input device may be dynamically created on the touchinput device that is split between the user's hand locations. Oncecreated, the virtual input device is configured to receive user inputuntil the hand that is associated with the virtual input device is nolonger detected. The virtual input devices are sized such that thedisplay of the virtual input device changes based on physicalcharacteristics that are associated with the user's hands.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary computing device;

FIG. 2 illustrates an exemplary touch input system;

FIG. 3 shows a system for creating a virtual input device in response toa hand being detected by a touch input device;

FIG. 4 shows exemplary virtual input devices 400; and

FIG. 5 shows an illustrative process for creating a virtual inputdevice.

DETAILED DESCRIPTION

Referring now to the drawings, in which like numerals represent likeelements, various embodiments will be described. In particular, FIG. 1and the corresponding discussion are intended to provide a brief,general description of a suitable computing environment in whichembodiments may be implemented.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Other computer systemconfigurations may also be used, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and the like.Distributed computing environments may also be used where tasks areperformed by remote processing devices that are linked through acommunications network. In a distributed computing environment, programmodules may be located in both local and remote memory storage devices.

Referring now to FIG. 1, an illustrative computer architecture for acomputer 100 utilized in the various embodiments will be described. Thecomputer architecture shown in FIG. 1 may be configured as a desktop ormobile computer and includes a central processing unit 5 (“CPU”), asystem memory 7, including a random access memory 9 (“RAM”) and aread-only memory (“ROM”) 10, and a system bus 12 that couples the memoryto the central processing unit (“CPU”) 5.

A basic input/output system containing the basic routines that help totransfer information between elements within the computer, such asduring startup, is stored in the ROM 10. The computer 100 furtherincludes a mass storage device 14 for storing an operating system 16,application program(s) 24, and other program modules 25, and touchmanager 26 which will be described in greater detail below.

The mass storage device 14 is connected to the CPU 5 through a massstorage controller (not shown) connected to the bus 12. The mass storagedevice 14 and its associated computer-readable media providenon-volatile storage for the computer 100. Although the description ofcomputer-readable media contained herein refers to a mass storagedevice, such as a hard disk or CD-ROM drive, the computer-readable mediacan be any available media that can be accessed by the computer 100.

By way of example, and not limitation, computer-readable media maycomprise computer storage media and communication media. Computerstorage media includes volatile and non-volatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules or other data. Computer storage media includes, but isnot limited to, RAM, ROM, Erasable Programmable Read Only Memory(“EPROM”), Electrically Erasable Programmable Read Only Memory(“EEPROM”), flash memory or other solid state memory technology, CD-ROM,digital versatile disks (“DVD”), or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to store thedesired information and which can be accessed by the computer 100.

According to various embodiments, computer 100 may operate in anetworked environment using logical connections to remote computersthrough a network 18, such as the Internet. The computer 100 may connectto the network 18 through a network interface unit 20 connected to thebus 12. The network connection may be wireless and/or wired. The networkinterface unit 20 may also be utilized to connect to other types ofnetworks and remote computer systems. The computer 100 may also includean input/output controller 22 for receiving and processing input from anumber of other devices, including a touch input device 23. The touchinput device may utilize any technology that allows more than one touchinput to be recognized at a time. For example, the technologies mayinclude, but are not limited to: heat, finger pressure, high capturerate cameras, infrared light, optic capture, tuned electromagneticinduction, ultrasonic receivers, transducer microphones, laserrangefinders, shadow capture, and the like. An exemplary touch inputdevice is shown in FIG. 2. The touch input device 23 may also act as adisplay. The input/output controller 22 may also provide output to oneor more display screens, such as display screen 28, a printer, or othertype of output device.

As mentioned briefly above, a number of program modules and data filesmay be stored in the mass storage device 14 and RAM 9 of the computer100, including an operating system 16 suitable for controlling theoperation of a networked personal computer, such as the WINDOWS® VISTA®or WINDOWS® 7® operating system from MICROSOFT CORPORATION of Redmond,Wash. According to one embodiment, the operating system is configured toinclude support for touch input device 23. According to anotherembodiment, a touch manager 26 may be utilized to process some/all ofthe touch input that is received from touch input device 23.

The mass storage device 14 and RAM 9 may also store one or more programmodules. In particular, the mass storage device 14 and the RAM 9 maystore one or more application programs 24. In conjunction with theoperation of the application, touch manager 26 provides a virtual inputdevice that is created in response to a user's hand being detected bytouch input device 23. Generally, touch manager 26 is configured tocreate a virtual input device in response to a user's placement of theirhand(s) on the touch input device 23. Different types of virtual inputdevices may be created. For example, a virtual mouse ring 27 may be usedas an input device when a user places their hand on the touch inputdevice. The virtual mouse ring may include zero or more mouse buttons.The virtual buttons may be configured to activate functions associatedwith application 24 or some other function and/or program. Asillustrated, virtual mouse ring 27 includes a mouse button that islocated beneath each finger of the hand detected by touch input device23. Similarly, when a user places two hands on the touch input device,two mouse rings may be displayed. Alternatively, some other type ofvirtual input device may be created. For example, when the user placestwo hands on the device a split keyboard input device may be dynamicallycreated on the touch screen that is split between the user's handlocations. Once the virtual input device is created, the user may enterinput through the created device on the input screen to interact withfunctionality that is provided by application 24. The virtual inputdevice 27 is removed when the hand is no longer detected. The virtualinput device 27 may also be associated with a location and interactionof a mouse cursor. For example, when the user moves their hand on touchinput device 23, the virtual ring moves on a display of the touch inputdevice 23 as well as moving the cursor on a display screen 28. Thevirtual input devices are created such that the display of the virtualinput device changes based on physical characteristics that areassociated with the user. According to one embodiment, the virtual inputdevice is displayed within a ring that is positioned beneath a portionof the user's hand that is detected by touch input device 23. Additionaldetails regarding the virtual input devices will be provided below.

FIG. 2 illustrates an exemplary touch input system. Touch input system200 as illustrated comprises a touch panel 202 that has several sensors204 integrated therein. According to one embodiment, the sensors 204 areInfrared (IR) sensors. Objects that in contact with or above a touchablesurface 206 include a hand 208 that is in contact with touchable surface206 and an object 209 that is close to but not in actual contact with(“adjacent”) touchable surface 206. Object 209 may be another handand/or some other physical object. Infrared sensors 204 are distributedthroughout touch panel 202 and are disposed parallel to touchablesurface 206. One or more of the infrared sensors 204 may detect infraredradiation reflected from the objects 208 and 209, as indicated by thearrows. Although the term “above” is used in this description, it shouldbe understood that the orientation of the touch panel system isirrelevant. As shown in FIG. 2, touchable surface 206 is horizontal, butin a different embodiment generated by rotating system 200 clockwise by90 degrees, touchable surface 206 could be vertical. In that embodiment,the objects from which reflected IR radiation is detected are to theside of touchable surface 206. The term “above” is intended to beapplicable to all such orientations.

Touch panel 202 may comprise filters 212 that absorb visible light andtransmit infrared radiation and are located between touchable surface206 and IR sensors 204 in order to shield IR sensors 204 from visiblelight incident on touchable surface 206 in the case where IR sensors 204are sensitive to a broader range of wavelengths of light other thanpurely infrared wavelengths.

Touch panel 202 may comprise a display that is configured to displayimages that are viewable via touchable surface 206. For example, thedisplayed image may be images relating to an application and/or adisplay of the virtual input device 210 that is created in response to auser's hand(s) being detected on touchable surface 206. The display maybe, for example, an LCD, an organic light emitting diode (OLED) display,a flexible display such as electronic paper, or any other suitabledisplay in which an IR sensor can be integrated.

System 200 may comprise a backlight 216 for the display. Backlight 216may comprise at least one IR source 218 that is configured to illuminateobjects in contact with or adjacent to touchable surface 206 withinfrared radiation through touchable surface 206, as indicated by thearrows. IR sensors 204 are sensitive to radiation incident from above,so IR radiation traveling directly from backlight 216 to IR sensors 204is not detected.

The output of sensors 204 may be processed by touch manager 26 and/orfunctionality included within an operating system or some otherapplication to detect when a physical object (e.g., a hand, a bottle, aglass, a finger, a hat, etc.) has come into physical contact with aportion of the touch input surface 206 and/or a physical object is inclose proximity to the surface. For example, sensors 204 can detect whena portion of hand 208 has come in contact with touch input displaysurface 206. Additional sensors can be embedded in the touch inputdisplay surface 206 and can include for example, pressure sensors,temperature sensors, image scanners, barcode scanners, etc., to detectmultiple simultaneous inputs.

When the sensors 204 are IR sensors, the IR radiation reflected from theobjects may be reflected from a user's hands, fingers, reflective inkpatterns on the objects, metal designs on the objects or any othersuitable reflector. Fingers reflect enough of the near IR to detect thata finger or hand is located at a particular location on or adjacent thetouchable surface. A higher resolution of IR sensors may be used to scanobjects in order to achieve higher resolution.

Sensors 204 can be included (e.g., embedded) in a plurality oflocations. The density of sensors 204 can be sufficient such thatcontact across the entirety of touch input surface 206 can be detected.Sensors 204 are configured to sample the surface of touch input displaysurface 206 at specified intervals, such as, for example, 1 ms, 5 ms,etc. for detected contact and/or near contact. The sensor data receivedfrom sensors 204 changes between sampling intervals as detected objectsmove on the touch surface; detected objects are no longer within rangeof detection; and when new objects come in range of detection. Forexample, touch manager 26 can determine that contact was first detectedat a first location and then contact was subsequently moved to otherlocations. In response, the virtual input device 210 and an associatedcursor (if any) may be moved to correspond to the movement of the handon the touch surface. Similarly, upon receiving an indication thatcontact is no longer detected anywhere on touch input surface thevirtual input may be removed.

FIG. 2 provides just one example of a touch input system. In otherexemplary touch systems, the backlight may not comprise any IR sourcesand the surface 206 may include a frontlight which comprises at leastone IR source. In such an example, the touchable surface 206 of thesystem is a surface of the frontlight. The frontlight may comprise alight guide, so that IR radiation emitted from IR source travels throughthe light guide and is directed towards touchable surface and anyobjects in contact with or adjacent to it. In other touch panel systems,both the backlight and frontlight may comprise IR sources. In yet othertouch panel systems, there is no backlight and the frontlight comprisesboth IR sources and visible light sources. In further examples, thesystem may not comprise a frontlight or a backlight, but instead the IRsources may be integrated within the touch panel. In an implementation,the touch input system 200 may comprise an OLED display which comprisesIR OLED emitters and IR-sensitive organic photosensors (which maycomprise reverse-biased OLEDs). In some touch systems, a display may notbe included. Even if the touch system comprises one or more componentsor elements of a display, the touch system may be configured to notdisplay images. For example, this may be the case when the touch inputtablet is separate from a display. Other examples include a touchpad, agesture pad, and similar non-display devices and components.

For some applications, it may be desirable to detect an object only ifit is in actual contact with the touchable surface of the touch panelsystem. For example, according to one embodiment, the virtual inputdevice 210 is only created when a user's hand is placed on the touchablesurface 206. The IR source of the touch input system may be turned ononly if the touchable surface is touched. Alternatively, the IR sourcemay be turned on regardless of whether the touchable surface is touched,and detection of whether actual contact between the touchable surfaceand the object occurred is processed along with the output of the IRsensor. Actual contact between the touchable surface and the object maybe detected by any suitable means, including, for example, by avibration sensor or microphone coupled to the touch panel. Anon-exhaustive list of examples for sensors to detect contact includespressure-based mechanisms, micro-machined accelerometers, piezoelectricdevices, capacitive sensors, resistive sensors, inductive sensors, laservibrometers, and LED vibrometers.

FIG. 3 shows a system 300 for creating a virtual input device inresponse to a hand being detected by a touch input device. Asillustrated, system 300 includes application program 24, callback code312, touch manager 26, display 330, and touch input device 340.

In order to facilitate communication with the touch manager 26, one ormore callback routines, illustrated in FIG. 3 as callback code 312 maybe implemented. According to one embodiment, application program 24 isconfigured to receive input from a touch-sensitive input device 340. Forexample, touch manager 26 may provide an indication to application 24when a user's hand (i.e. hand 347) selects a button on a virtual inputmouse ring (i.e. virtual mouse ring 345).

According to one embodiment, a virtual input device is shown on thedisplay of touch input device 340 when a user places their hand on thetouch sensitive input device 340. The display of the virtual inputdevice may be shown directly on the input device 340 and/or on aseparate display. Additionally, when a user moves their hand that isplaced on the touch input device, a cursor 332 may move in response tothe movement of the hand on the touch screen. Similarly, when the usertaps one of their fingers on a virtual mouse button, a function relatingto application 24 and/or some other function may be invoked. In thecurrent example, a user may select from one of ten virtual mouse buttonsincluding one for each finger on the left hand 347 and one for eachfinger of the right hand 348. Either virtual input device 345, 346 maybe used to move cursor 332. According to one embodiment, a circulargraphic is displayed below and in response to a user's placed hand onthe touch surface. When the virtual input device that is to be createdis a virtual mouse ring, zero or more mouse buttons are disposeddirectly beneath a finger of the user. In this example, a virtual mousebutton is created for each finger. When the virtual input device isreferred to as a “virtual ring” then no buttons are displayed. Instead,the user is provided with a visual display of the rings to perform someinteraction with the application program 24. For instance, a single ringcould be shown to move cursor 332 in display 330. Two rings could beshown such that a user may perform a two-handed operation, such asstretching an object, shrinking an object, distorting an object, and thelike. Additionally, the single ring could act as a single mouse buttonthat is activated in response to a user tapping one or more of theirfingers within the display of the virtual ring. A keyboard virtual inputdevice may also be created that would display a split keyboard beneath auser's hand locations. The type of virtual input device created, thebuttons (if any) displayed, the keys (if any) displayed, as well as thefunctionality that is associated with the buttons and keys that aredisplayed can vary depending on the context of the action, theapplication running, as well as items selected.

In the current example, a virtual input device is created in response toa user placing a majority of their hand on the touch surface. Forexample, a user places a portion of their palm and one or more fingerson the touch surface. According to one embodiment, when the virtualinput device is a mouse ring, a button is created for each finger thatis detected. As discussed above, an object may not need to be touchingthe touch input device in order to be detected. The size of the virtualring is based on a detected size of the user's hand. The placement ofthe buttons is located such that each finger tip is positioned at ornear the center of the virtual mouse button. In this way, the virtualinput device is customized for each user. A larger hand will have alarger input ring, whereas a smaller hand will produce a smaller inputring. Touch manager 26 determines which hand(s) are placed on the deviceand what actions are occurring relating to the hand.

As opposed to a hardware input device, the virtual input device is onlyactivated when a user places a portion of their hand on the touchsurface. In this way, the mouse device is hidden when not needed by auser. Additionally, using a virtual input mouse allows a user to keeptheir hands on the touch surface without having to reach for a hardwaremouse.

The inside of the virtual input device (in this case the center portionof the ring) can be used for touch operations that use the cursor as thefocal point, such as: panning, zooming, rotating and scaling objects onthe display.

FIG. 4 shows exemplary virtual input devices 400. According to oneembodiment, a virtual input device is created in response to a userplacing their hand on a touch input device. According to anotherembodiment, the virtual input device may be created in response to theuser placing their hand close enough to a surface of the touch inputdevice for it to be detected. The virtual input device is created basedon the physical characteristics of the user's hand when it is detectedby the touch system. According to one embodiment, the virtual inputdevice is graphically illustrated as a ring that may contain differentcontent such as keys and buttons. The virtual input device may also begraphically illustrated in other ways. For example, the virtual inputdevice may be shown as a rectangle, a square, or some other shape.Generally, the virtual input is shaped and sized such that a user'sfingers may be placed within the outer boundary of the shape thatdepicts the virtual input device.

Virtual input device 410 is a virtual mouse ring that is sized for lefthand 415 and includes five mouse buttons that are disposed beneath eachfinger of left hand 415.

Virtual input device 420 is a virtual mouse ring that is sized for righthand 425 and includes three mouse buttons. As illustrated, one mousebutton is disposed beneath a thumb, one mouse button is disposed beneaththe middle three fingers, and a mouse button is disposed beneath thelittle finger. Many other combinations can be created for a virtualmouse ring. For example, a virtual mouse having zero or more buttons maybe created. As can be seen, virtual mouse ring 420 is sized larger thenvirtual mouse ring 410 since hand 425 is larger than hand 415. While notshown, the size of the mouse buttons may also be adjusted based on alength of the fingers.

Virtual input device 430 is a virtual keyboard ring that is sized forleft hand 435. According to one embodiment, the keyboard is a splitQWERTY keyboard, where half of the keyboard is displayed beneath asingle hand. Other keyboards having other keys may also be utilized. Forexample, a far east keyboard, may be created.

Virtual input device 440 is a virtual ring that is sized for right hand445 and includes no mouse buttons. As illustrated, virtual ring 440 isreceiving an input to stretch an object. In this example, a user iswidening their thumb and index finger within the ring 440 to stretch anobject.

Virtual input device 450 is a virtual ring that is sized for right hand455 and includes no mouse buttons. As illustrated, virtual ring 450 isreceiving an input to move a cursor. In this example, a user is movingtheir finger to the left causing the virtual ring to move to the left,which in turn moves the display of a cursor on a display screen.

Referring now to FIG. 5, an illustrative process 500 for creating avirtual input device will be described. When reading the discussion ofthe routines presented herein, it should be appreciated that the logicaloperations of various embodiments are implemented (1) as a sequence ofcomputer implemented acts or program modules running on a computingsystem and/or (2) as interconnected machine logic circuits or circuitmodules within the computing system. The implementation is a matter ofchoice dependent on the performance requirements of the computing systemimplementing the invention. Accordingly, the logical operationsillustrated and making up the embodiments described herein are referredto variously as operations, structural devices, acts or modules. Theseoperations, structural devices, acts and modules may be implemented insoftware, in firmware, in special purpose digital logic, and anycombination thereof.

After a start operation, the process flows to operation 510, where atouch input is received indicating that a least a portion of a user'shand has been detected. According to one embodiment, the user places atleast a portion of the palm and one or more fingers on the touchsurface. Other requirements may be utilized. For example, a hand mayonly be recognized when a portion of the palm, a thumb and two otherfingers are detected. Additionally, according to some embodiments, theuser may only have to place their hand near the surface of the touchsurface.

Moving to operation 520, a size of the hand that is detected by thetouch surface is determined. According to one embodiment, the size isdetermined by a detected location of the palm and the detected locationsof the finger tips.

Flowing to operation 530, the virtual input device customized for theuser's hand is created. For example, the virtual input device is notonly sized for the user's hand but can also be created based on a numberof fingers on the hand, a dislocated finger, and the like. As discussedabove, the virtual input device may be a virtual mouse ring having zeroor more buttons or a virtual keyboard ring.

Transitioning to operation 540, the virtual input device is displayed.According to one embodiment, the virtual input device is displayedbeneath a portion of the user's hand. As discussed above, according toone embodiment, when the virtual input device is a virtual mouse ring amouse button is displayed beneath each finger. Additionally, a virtualinput device may be created and displayed for each hand that is detectedby the touch surface.

Moving to operation 550, the virtual input device(s) displayed receivesinput from the user while the hand is detected by the touch inputdevice. For example, a user may move their hand across the touchsurface, a user may pick a finger up and then press the finger down toselect a button, a user may move two fingers to perform a touchoperation, and the like.

Flowing to operation 560, the virtual input device is removed when theuser's hand is no longer detected by the touch input device.

The process then flows to an end operation and returns to processingother actions.

The above specification, examples and data provide a completedescription of the manufacture and use of the composition of theinvention. Since many embodiments of the invention can be made withoutdeparting from the spirit and scope of the invention, the inventionresides in the claims hereinafter appended.

What is claimed is:
 1. A method for creating a virtual input device on atouch input device, comprising: determining when a portion of a hand isdetected by the touch input device; when the portion of the hand isdetected by the touch input device: determining a size of the portion ofthe hand; dynamically creating and sizing the virtual input device basedon the determined size of the portion of the hand, wherein an inner areaof the virtual input device is sized to contain the portion of the hand;displaying a graphical representation of the virtual input device on thetouch input device, wherein displaying the graphical representationcomprises: displaying a circular graphic and an associated cursor on thetouch input device that moves in response to a movement of the portionof the hand; displaying one or more buttons on an outer boundary of thecircular graphic; defining a central area of the circular graphicdefined by the one or more buttons on the outer boundary of the circle,wherein the central area is operable to accept multi-finger touchoperations that use the associated cursor as a focal point including oneor more of: panning, zooming, and rotating; receiving user input fromthe virtual input device through an interaction between the portion ofthe hand and the circular graphic of the virtual input device.
 2. Themethod of claim 1, wherein movement of the virtual input device on thetouch input device moves a cursor on a display screen.
 3. The method ofclaim 1, wherein displaying the one or more buttons comprisesdetermining a size of each of the at least one finger of the hand and alocation of a palm; and sizing each of the one or more buttons based onthe determined size and location.
 4. The method of claim 1, wherein thevirtual input device is a virtual mouse ring that includes a virtualmouse button that is disposed beneath each detected finger of the hand;wherein each virtual mouse button is associated with an action.
 5. Themethod of claim 1, further comprising determining a size of eachdetected finger and creating a virtual mouse button that is sizedaccording to the determined size of each detected finger.
 6. The methodof claim 1, wherein the virtual input device is a split keyboard whentwo hands are detected by the touch input device, wherein keys of thekeyboard are divided between a display disposed beneath each hand. 7.The method of claim 1, wherein when a virtual button is selecteddisplaying a list of menu items in place of the display of the virtualbutton.
 8. The method of claim 1, further comprising determining whenthe hand becomes undetected and when the hand becomes undetectedremoving the virtual input device from the touch input device.
 9. Acomputer-readable storage device having computer-executable instructionsfor creating a virtual input device in response to a touch input,comprising: determining when a portion of a hand is detected by a touchinput device; when the portion of the hand is detected by the touchinput device: automatically determining a size of the portion of thehand; dynamically creating and sizing the virtual input device based onthe determined size of the portion of the hand; wherein an inner area ofthe virtual input device is sized to completely contain the portion ofthe hand detected by the touch input device; displaying a graphicalrepresentation of the virtual input device, the graphical representationof the virtual input device, comprising: a display of a circular graphicbeneath the portion of the hand that is detected by the touch inputdevice, wherein the circular graphic is operable to respond to amovement of the portion of the hand to remain beneath the portion of thehand as the portion of the hand moves and wherein a cursor associatedwith the circular graphic moves in correspondence with the circulargraphic, the circular graphic including one or more buttons on an outerboundary of the circular graphic and defining a central area of thecircular graphic defined by the one or more buttons on the outerboundary of the circle, wherein the central area is operable to acceptmulti-finger touch operations that use the cursor as a focal pointincluding one or more of: panning, zooming, and rotating; receiving userinput from the virtual input device through an interaction between theportion of the hand and the virtual input device; and removing thevirtual input device when the hand becomes undetected by the touch inputdevice.
 10. The computer-readable storage device of claim 9, whereincreating the virtual input device comprises determining a type ofvirtual input device based on a context of an application.
 11. Thecomputer-readable storage device of claim 9, wherein the virtual inputdevice is a virtual mouse ring that includes at least two virtual mousebuttons that are disposed beneath each detected finger of the hand. 12.The computer-readable storage device of claim 9, wherein the virtualinput device is a virtual ring that consists of a single input ringwherein an inside of the ring is used for multi-finger touch operations.13. The computer-readable storage device of claim 9, wherein the virtualinput device is a portion of a keyboard.
 14. The computer-readablestorage device of claim 11, wherein when a virtual mouse button isselected by tapping one of the fingers on the virtual mouse button,displaying a list of menu items in place of the display of the virtualmouse button.
 15. The method of claim 1, further comprising: determiningwhen a portion of a second hand is detected by the touch input device;in response to detecting the portion of the second hand, creating asecond virtual input device; determining a size of the portion of thesecond hand that is placed on the touch input device; dynamically sizingthe second virtual input device based on the determined size of theportion of the second hand; displaying a graphical representation of thesecond virtual input device that includes a display of a second circulargraphic beneath the portion of the second hand; determining when atwo-handed operation has been received in response to receiving userinput from the first virtual input device and receiving user input fromthe second virtual input device; determining when the second handbecomes undetected and when the second hand becomes undetected, haltingdisplay of the second virtual input device on the touch input device.16. A system for creating a virtual input device on a touch screen,comprising: the touch screen; a processor and a computer-readablemedium; an operating environment stored on the computer-readable mediumand executed by the processor; and a touch manager operating undercontrol of the operating environment and operable to: detect a portionof a hand by the touch screen; in response to detecting the portion ofthe hand, create the virtual input device on the touch screen, thevirtual input device having: an outer boundary operable to receive amovement input, the outer boundary having a button operable to receive atap input, wherein the movement input comprises a detection of the handmoving on the touch screen and wherein the tap input comprises adetection of the hand being picked up and subsequently pressed on thebutton of the outer boundary; and a central portion defined by the outerboundary, the central portion comprising an area operable to receivemulti-finger touch input associated with an action to perform one ormore of: panning, zooming or rotating; in response to receiving themovement input at the outer boundary, move the virtual input device onthe touch screen in correspondence with the movement input; in responseto receiving the tap input at the button of the outer boundary, invoke afunction within the operating environment; in response to receiving themulti-finger touch input at the central portion, invoke a multi-fingertouch operation within the operating environment.
 17. The system ofclaim 16, wherein the multi-finger touch input includes at least twofingers of the hand being detected within the central portion by thetouch screen, wherein each of the detected fingers is detected as havinga motion in opposition to the other detected finger's motion, such thatcombining the opposing motions results in no movement of the virtualinput device.
 18. The system of claim 16, wherein the outer boundaryincludes a second button, the second button being disposed of beneath atleast two fingers of the hand being detected by the touch screen. 19.The system of claim 16, wherein the touch manger is further operable to:in response to losing detection of the hand, delete the virtual inputdevice from the touch screen.